package com.anolesoft.secondaryCostAccounting.util;

import java.math.BigDecimal;

/**
 * 浮点数转字符串进行运算
 * @author zyq
 * @date 2022/8/18
 */
public class NumStringUtil {
    /**
     * 数值相加
     *
     * @param a
     * @param b
     * @return
     */
    public String numAdd(String a, String b) {
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        String c = a1.add(b1) + "";
        return c;
    }

    /**
     * 数值相减
     *
     * @param a
     * @param b
     * @return
     */
    public String numSub(String a, String b) {
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        String c = a1.subtract(b1) + "";
        return c;
    }

    /**
     * 数值相乘
     *
     * @param a
     * @param b
     * @return
     */
    public String numMul(String a, String b) {
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        String c = a1.multiply(b1) + "";
        return c;
    }

    /**
     * 数值相除
     *
     * @param a
     * @param b
     * @return
     */
    public String numDiv(String a, String b) {
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        String c = a1.divide(b1, 2, BigDecimal.ROUND_HALF_UP) + "";
        return c;
    }

    /**
     * 例子：
     * int result = bigdemical1.compareTo(bigdemical2)
     * <p>
     * result = -1,表示bigdemical1小于bigdemical2；
     * <p>
     * result = 0,表示bigdemical1等于bigdemical2；
     * <p>
     * result = 1,表示bigdemical1大于bigdemical2；
     * 两个数值比较大小
     *
     * @param a
     * @param b
     * @return
     */
    public String numCompareTo(String a, String b) {
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        String message = a1.compareTo(b1) + "";
        return message;
    }
}
